1 using System;
2 using System.Collections.Generic;
3 using System.ComponentModel;
4 using System.Data;
5 using System.Drawing;
6 using System.Linq;
7 using System.Text;
8 using System.Threading.Tasks;
9 using System.Windows.Forms;
10
11 namespace SoftQuanLyNhaHang.Views
12 {
13 public partial class frmThanhToanNhapHang_TheoNCC : Form
14 {
15 public frmThanhToanNhapHang_TheoNCC()
16 {
17 InitializeComponent();
18 }
19
20 private int _getNhaCungCapId = 0;
21 private string _getIdNhapHangStr = string.Empty;
22 private string _getTrangThai = string.Empty;
23
24 //lay id ncc
25 public frmThanhToanNhapHang_TheoNCC(string IdNhapHangStr, int idNcc, string trangThai) : this()
26 {
27 _getIdNhapHangStr = IdNhapHangStr;
28 _getNhaCungCapId = idNcc;
29 _getTrangThai = trangThai;
30 }
31
32 //hien thi thong tin thanh toan
33 private void HienThiThongTinThanhToanTheoNCC()
34 {
35 DataTable dtNHByNcc = new DataTable();
36 dtNHByNcc = Controllers.NhapHangCtrl.FillDataSet_NhapHang_Get_ByNCC_IdNhStr(_getIdNhapHangStr, _getNhaCungCapId, _getTrangThai).Tables[0];
37 if (dtNHByNcc.Rows.Count > 0)
38 {
39 float tienNo = 0;
40 float soTienNhap =0;
41 float soTienDaThanhToan = 0;
42
43 float tongNo =0;
44 foreach (DataRow item in dtNHByNcc.Rows)
45 {
46 soTienNhap = (float)CauHinhHeThong.Format_SoDeTinhToan(item["TongTienNhapHang"].ToString(), false);
47 soTienDaThanhToan = (float)CauHinhHeThong.Format_SoDeTinhToan(item["TongTienDaThanhToan"].ToString(), false);
48
49 tienNo = soTienNhap - soTienDaThanhToan;
50
51 tongNo += tienNo;
52 }
53
54 txtTienNo.Text = CauHinhHeThong.Format_SoDeHienThi(tongNo, true);
55
56 }
57 else
58 {
59 txtTienNo.Text = "0";
60 }
61
62 }
63
64 private void btnThucHien_Click(object sender, EventArgs e)
65 {
66 DataTable dtNhapHang = new DataTable();
67
68 dtNhapHang = Controllers.NhapHangCtrl.FillDataSet_NhapHang_Get_ByNCC_IdNhStr(_getIdNhapHangStr, _getNhaCungCapId, _getTrangThai).Tables[0];
69
70 if (dtNhapHang.Rows.Count > 0)
71 {
72 lblThongBao.Text = "Thanh toán thành công!";
73 lblThongBao.Visible = true;
74
75 int sohdNhap = 0;
76 int dem = 0;
77
78 sohdNhap=dtNhapHang.Rows.Count;
79
80 //float soTienTxt = 0;
81 float soTienNhap = 0;
82 float soTienDaThanhToan = 0;
83
84 //float soTien_No = 0;
85 //float tongNoDaTT = 0;
86
87 // float tongTienVuaThanhToan = 0;
88 // float soTien = 0;
89
90 int IdNhaphang = 0;
91 float tongTienThanhToan = (float)CauHinhHeThong.Format_SoDeTinhToan(txtTienTToan.Text.Trim(),true);
92
93 // float tongTienThanhToanDaInsert = 0;
94
95 float tongTienNo = 0;
96
97 float soTienNo = 0;
98 //float soTienThanhToan = 0;
99
100 //900
101 foreach (DataRow item in dtNhapHang.Rows)
102 {
103 IdNhaphang = Int32.Parse(item["IdNhapHang"].ToString());
104 dem += 1;
105
106 soTienNhap = (float)CauHinhHeThong.Format_SoDeTinhToan(item["TongTienNhapHang"].ToString(), false);
107 soTienDaThanhToan = (float)CauHinhHeThong.Format_SoDeTinhToan(item["TongTienDaThanhToan"].ToString(), false);
108
109 soTienNo = soTienNhap - soTienDaThanhToan;
110 tongTienNo += soTienNo;
111
112 if (soTienNo <= tongTienThanhToan)
113 {
114 if (dem == sohdNhap)
115 {
116 Controllers.ThanhToanCtrl.InsertThanhToan(0, IdNhaphang, tongTienThanhToan, txtMoTa.Text.Trim(), "ThanhToan", DateTime.Now, "tbl_NhapHang");
117 break;
118 }
119 else
120 {
121 Controllers.ThanhToanCtrl.InsertThanhToan(0, IdNhaphang, soTienNo, txtMoTa.Text.Trim(), "ThanhToan", DateTime.Now, "tbl_NhapHang");
122
123 }
124
125 tongTienThanhToan = tongTienThanhToan - tongTienNo;
126 }
127 else
128 {
129 Controllers.ThanhToanCtrl.InsertThanhToan(0, IdNhaphang, tongTienThanhToan, txtMoTa.Text.Trim(), "ThanhToan", DateTime.Now, "tbl_NhapHang");
130 break;
131 }
132 }
133
134 btnThucHien.Enabled = false;
135 var t = new System.Windows.Forms.Timer();
136 t.Interval = 3000; // it will Tick in 3 seconds
137 t.Tick += (s, ex) =>
138 {
139 lblThongBao.Visible = false;
140 this.Close();
141 t.Stop();
142 };
143 t.Start();
144 }
145 else
146 {
147
148 }
149 }
150
151 private void frmThanhToanNhapHang_TheoNCC_Load(object sender, EventArgs e)
152 {
153 this.HienThiThongTinThanhToanTheoNCC();
154 }
155
156 private void txtTienTToan_TextChanged(object sender, EventArgs e)
157 {
158 try
159 {
160 string value = txtTienTToan.Text.Replace(CauHinhHeThong.PHAN_CACH_HANG_NGHIN, "");
161 ulong ul = 0;
162
163 if (ulong.TryParse(value, out ul))
164 {
165 txtTienTToan.TextChanged -= txtTienTToan_TextChanged;
166
167 if (txtTienTToan.Text.StartsWith("0"))
168 {
169 txtTienTToan.Text = ul.ToString();
170 }
171 else
172 {
173 txtTienTToan.Text = CauHinhHeThong.DoFormat_NhapSoTrongText(value);
174 }
175
176 txtTienTToan.SelectionStart = txtTienTToan.Text.Length;
177 txtTienTToan.TextChanged += txtTienTToan_TextChanged;
178 }
179 else
180 {
181 if (txtTienTToan.Text.StartsWith(CauHinhHeThong.DAU_PHAY))
182 {
183 txtTienTToan.TextChanged -= txtTienTToan_TextChanged;
184 txtTienTToan.Text = "0" + txtTienTToan.Text;
185 txtTienTToan.SelectionStart = txtTienTToan.Text.Length;
186 txtTienTToan.TextChanged += txtTienTToan_TextChanged;
187 }
188 }
189
190 }
191 catch
192 {
193 }
194 }
195
196 private void txtTienTToan_KeyPress(object sender, KeyPressEventArgs e)
197 {
198 CauHinhHeThong.NhapSoTrongTextBox(sender, e);
199 }
200 }
201 }